export interface ProjectForm extends BaseEntity {
  projectId?: number;
  accountId: number;
  advertiserId: number;
  name: string;
  landingType: string;
  marketingGoal: string;
  adType: string;
  microPromotionType: string;
  microAppInstanceId: number;
  relatedProduct: RelatedProduct;
  optimizeGoal: OptimizeGoal;
  deliveryRange: DeliveryRange;
  deliverySetting: DeliverySetting;
  deliveryMode: string;
  trackUrlSetting: TrackUrlSetting;
  audience: Audience;
}

export interface ProjectQuery extends PageQuery {
  /**
   * 管家账号id
   */
  accountId?: string | number;

  /**
   * 广告主id
   */
  advertiserId?: string | number;

  /**
   *
   */
  ids?: string[];
  status?: string;
}

type RelatedProduct = {
  productSetting: string;
  productPlatformId: number;
  productId: string;
};

type OptimizeGoal = {
  externalAction: string;
  deepExternalAction: string;
};

type DeliveryRange = {
  inventoryCatalog: string;
};

type DeliverySetting = {
  scheduleType: string;
  deepBidType: string;
  bidType: string;
  budgetMode: string;
  budget: number;
  cpaBid: number;
  roiGoal: number;
};

type TrackUrlSetting = {
  actionTrackUrl: string[];
};

type Audience = {
  platform: string[];
};

export type ProjectVO = {
  accountId: number;
  advertiserId: number;
  name: string;
  landingType: string;
  marketingGoal: string;
  adType: string;
  microPromotionType: string;
  microAppInstanceId: number;
  relatedProduct: RelatedProduct;
  optimizeGoal: OptimizeGoal;
  deliveryRange: DeliveryRange;
  deliverySetting: DeliverySetting;
  deliveryMode: string;
  trackUrlSetting: TrackUrlSetting;
  audience: Audience;
};
